package calculator.rpn.engine;

import java.math.BigDecimal;
import java.math.MathContext;

public final class OperatorActions {
    public static BigDecimal plus(BigDecimal... n) {
        return n[0].add(n[1]);
    }

    public static BigDecimal subtract(BigDecimal... n){
        return n[1].subtract(n[0]);
    }

    public static BigDecimal times(BigDecimal... n){
        return n[0].multiply(n[1]);
    }

    public static BigDecimal divide(BigDecimal... n){
        return n[1].divide(n[0], MathContext.DECIMAL64);
    }

    public static BigDecimal pow(BigDecimal... n){
        return n[1].pow(n[0].intValue(), MathContext.DECIMAL64);
    }

    public static BigDecimal sqrt(BigDecimal... n){
        return BigDecimal.valueOf(Math.sqrt(n[0].doubleValue()));
    }
}
